This invention relates generally to a method and system for adjusting a communication timer in a communication network, and more particularly to a method and apparatus for adjusting an acknowledgment timer for a communication network when the data transfer rate of the system has changed.
Communication networks such as wide area networks (WANs) and local area networks (LANs) rely heavily on the efficient transfer of data from one computer or networked component to another. This efficiency can be greatly affected by the number of users accessing the system at one time. For example, in a wireless telecommunications network the data transfer rate of the entire network typically decreases as the number of users using the network (or traffic) increases. In terms of data transfer speed, the network is no longer operating as efficiently for each user. This decrease in the data transfer rate can disrupt various systems within the communication network and further cause the system to run even less efficiently.
In typical wireless telecommunication networks, the networked components are comprised of base and mobile stations which communicate with each other using a radio link protocol (RLP). Several industry standards are available for implementing such networks and provide generalized functions/features the various systems should follow. For example, IS-95 is a digital code division multiple access (CDMA) protocol standard for U.S. wireless networks set forth by the Telecommunications Industry Association (TIA) and the Electronic Industries Alliance (EIA) in an effort to make wireless network systems somewhat uniform in the US. This standard is repeatedly evaluated and improved on by members of the telecommunications industry.
Today, these groups are implementing third generation CDMA systems (often referred to as CDMA2000 or IS-95-C) which use an octet based RLP to transmit packets of data or information between the base station and the mobile station, and vice versa. The protocol divides the packets into frames for data transmission over communication channels and attaches headers and trailers to each packet and frame to indicate the beginning and end of the packet/frame, and to indicate the sequence number or order in which the packet/frame is to be received in order to recover the original message transmitted. Since the packets are of variable size, some frames may contain only portions of a packet, while others may contain multiple packets for transmission. According to several standards, a frame is typically generated by the RLP every 20 milliseconds (ms). The primary benefit accompanying this new generation industry standard is that higher data transfer rates can be obtained within the network, allowing for the transmission of high speed data at various data transfer rates. Even so, as traffic on these networks continually increases, the data transfer rates will decrease, resulting in undesirable disruption of various systems within the communication network.
For example, several communication networks have acknowledgment systems implemented to confirm receipt and/or failure of receipt of information from one component to another. The idea behind such systems is to keep the network operating efficiently while at the same time ensuring that the communications are being accurately made. In other words, using cellular telephone networks as an example, the acknowledgment system avoids having a user wait on his or her phone for an unduly long period, when it is likely that the voice data his or her unit is awaiting will not be received.
The acknowledgment systems allow for the transmission of high speed data, and rely on timers for determining whether an acknowledgment signal has been received and/or responded to. These timers do not account for changes in the data transfer rate of the network, and are setup to interpret a response to the acknowledgment signal that is delayed by a predetermined amount as a failure to respond irrespective of current data transfer rates in the system. This failure typically causes a second or third acknowledgment signal to be sent, which may not only be unnecessary, but also increases the traffic over the network and further reduces the efficiency of the entire system. The failure may also cause the acknowledgment system to abort efforts in determining whether an acknowledgment signal has been received and/or responded to.
One type of acknowledgment system implemented in computer and telecommunication networks involves polling each component to which information has been sent in order to determine if the information has been received. This can be accomplished by having the components that have received information transmit an ACK (xe2x80x9cacknowledgexe2x80x9d) signal upon receipt of the information. Another type of acknowledgment system implemented in networks involves having components report the fact that they did not receive the information sent to them (e.g., the information was lost, incomplete, or corrupted). This can be accomplished by having the components that have not received the sent information transmit a NAK (negative acknowledge) signal indicating that the information must be re-transmitted. Out of the two systems, the latter NAK system is preferred because it allows for more efficient network operations since only the components needing retransmission of data have to transmit an acknowledgment, whereas with the ACK system, both the components needing retransmission of data and those that do not have to transmit signals.
As mentioned, these acknowledgment systems use timers to determine whether signals have been received by the desired network components and/or to re-transmit signals if need be. For example, the receiving component or network component responsible for transmitting the acknowledgment signal (either ACK or NAK) typically starts an acknowledgment timer upon transmission of the acknowledgment signal. The purpose for the timer is to account for situations in which the acknowledgment signal sent by the receiving component has not been received by the transmitting component or network component responsible for responding to the acknowledgment signal. According to the standardized systems mentioned above, if no signal or response is heard by the receiving component within the predetermined time period of the acknowledgment timer, the receiving component will assume that the acknowledgment signal was lost and will re-transmit the acknowledgment signal and restart the acknowledgment timer. Again, if no signal or response is heard within the predetermined time period of the acknowledgment timer, the receiving component will retransmit the acknowledgment signal a third and final time, and restart the acknowledgment timer. At this point, the timer is often referred to as an abort timer. If the acknowledgment/abort timer expires without the receiving component hearing a response to the third acknowledgment signal, the receiving component will abort its acknowledgment efforts and either continue or drop communications with the transmitting component.
For example, if a NAK system is employed in the telecommunications network discussed above, and a packet/frame is not received by the desired network receiving component, the receiving component in the network will transmit a NAK signal requesting retransmission of the missing packet/frame. Once the NAK signal is transmitted, the receiving component (which could be a base station or a mobile station) starts a retransmission or acknowledgment timer that expires after a predetermined amount of time. Again, the purpose for the timer is to make the network more efficient by accounting for situations in which the NAK signal or NAK request Is not received by the transmitting component (e.g., the NAK signal itself was lost, incomplete, or corrupted). More particularly, the receiving component will wait the predetermined amount of time, and if no response to its NAK signal is received, the receiving component will presume that a problem occurred with respect to the earlier NAK signal.
If the requested packet/frame is received by the receiving component within the predetermined time period, the retransmission timer is suspended and the packet/frame is read according to its sequence number (which identifies the order in which the packets/frames are to be read) in order to reconstruct the original data sent.
If the requested packet/frame is not received within the predetermined amount of time, the receiving component will send another NAK signal to the transmitting component requesting retransmission of the missing packet/frame. The receiving component will again start the retransmission timer and wait for reception of the requested packet/frame. If the requested packet/frame is received, it is read according to its sequence number. If the requested packet/frame is not received, the receiving component will attempt one last request by transmitting a third and final NAK signal. This time however, the receiving component will start an abort timer (acknowledgment timer) that will expire after a predetermined period of time. If the requested packet/frame is not received within the predetermined time period of the abort timer, the receiving component aborts the acknowledgment process.
The acknowledgment systems of today operate without consideration of the data transfer rate of the network. This creates problems when, for instance, the data transfer rates between the networked components decrease (e.g., when network traffic increases) and the response to the receiving component""s acknowledgment signal (or series of signals) is delayed to such an extent that it does not reach the receiving component until after the acknowledgment timer has expired. For example, if the networked components are communicating at a high speed data transfer rate when the receiving component transmits a NAK signal, but the communication level decreases to a lower data transfer rate prior to the transmitting component""s response to the NAK signal, the transmitting component""s response may not be received by the receiving component prior to the expiration of the receiving component""s retransmission timer. Since the receiving component""s retransmission timer operates independent of the data transfer rate, the receiving component does not account for the fact that the transmitting component is sending the requested response at a slower rate, which leads it to generate an unnecessary NAK request, thereby increasing network traffic and decreasing network throughput.
Thus there is a need for a method and apparatus for that improves efficiency in communications in a communication network. In particular, a need exists for a network acknowledgment system that is capable of adapting to varying data transfer rates. A further need exists for a NAK retransmission timer that is capable of adjustment according to changes in the network.